草庐IT

Swift 枚举评估

全部标签

c# - "override"枚举的最佳方法是什么?

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Enum“Inheritance”我有许多扩展抽象类的类。抽象父类定义了一个具有一组值的枚举。一些子类继承父类的枚举值,但一些子类需要枚举值不同。有什么方法可以以某种方式覆盖这些特定子类的枚举,如果没有,实现我所描述的内容的好方法是什么?classParentClass{privateMyEnumm_EnumVal;publicvirtualMyEnumEnumVal{get{returnm_EnumVal;}set{m_EnumVal=value;}}publicenumMyEnum{a,b,c};}cla

c# - 通过接口(interface)枚举 - 性能损失

我和我的同事有一点争执(这非常接近圣战:)),关于通过枚举器通过索引VS访问列表的性能。为了处理一些事实,我编写了以下测试:staticvoidMain(string[]args){constintcount=10000000;varstopwatch=newStopwatch();varlist=newList(count);varrnd=newRandom();for(inti=0;i实际上,它只是访问元素。如我所料,索引访问速度更快。这是在我的机器上发布构建的结果:0.0347//indexaccess0.0737//enumerating但是,我决定稍微改变一下测试://the

c# - Moq:Lambda 表达式作为参数并在返回中评估它们

在我的单元测试中,我希望能够在接受lambda表达式的工作单元中最小化存储库的“查找”功能。例如:publicvirtualIQueryableFind(Expression>predicate){//FindOPS}我在我的单元测试中创建了测试列表来表示我的dbSet(我还省略了很多抽象以使这个问题更简单):[TestMethod]publicvoidFindTest(){varmockUnitOfWork=newMock();vartestList=newList{//Testvalues}//HereiswhereIamstuck:mockUnitOfWork.Setup(uow

c# - 在 PropertyGrid 中编辑枚举成员的显示名称

我有一个属性网格,我正在使用它让用户能够为我的应用程序中使用的任何插件配置对象。我希望能够告诉编写插件的开发人员为其成员使用ComponentModel属性,如下所示:[CategoryAttribute("OnScreenDisplaySettings"),DescriptionAttribute("Whetherornottoshowthesessiontimer."),DisplayName("ShowSessionTimer")]publicboolShowTimer{get;set;}这很好用。现在我希望枚举的成员也能够被编辑。即publicenumResolution_:b

c# - 枚举装箱和平等

为什么会返回FalsepublicenumDirections{Up,Down,Left,Right}staticvoidMain(string[]args){boolmatches=IsOneOf(Directions.Right,Directions.Left,Directions.Right);Console.WriteLine(matches);Console.Read();}publicstaticboolIsOneOf(Enumself,paramsEnum[]values){foreach(varvalueinvalues)if(self==value)returntru

c# - 遍历 C# 枚举的键和值

这个问题在这里已经有了答案:Howtoenumerateanenum?(33个答案)关闭8年前。给定C#枚举:publicenumstuffEnum:int{New=0,Old=1,Fresh=2}如何以一种可以在单个循环中复制键及其值的方式循环遍历它?像这样的东西:foreach(variteminstuffEnum){NewObjectthing=newNewObject{Name=item.Key,Number=item.Value}}因此您最终会得到3个对象,它们的名称属性设置为"new"、“旧”和“新鲜”,数字属性设置为0、1和2。我该怎么做?

c# - 在类主体之外但在 namespace 内的枚举定义

今天,我遇到了一些这样的代码。namespaceFoo{publicenumGame{High,Low};publicenumSwitch{On,Off};publicclassBar(){//Blah}}我无法弄清楚这与在类中声明枚举之间的区别是什么。AFAIK,您仍然可以“覆盖”类中的那些枚举。 最佳答案 枚举是类型,就像类一样。当您在类中声明枚举时,它只是一个嵌套类型。嵌套枚举只是隐藏在外部范围中声明的具有相同名称的其他枚举,但您仍然可以通过其完全限定名称引用隐藏的枚举(在您的示例中使用namespace前缀)。决定是声明顶级

c# - 如何在 asp.net mvc 中使用带有 DescriptionAttribute 的枚举

我是asp.netMVC的新手。我正在尝试在我的View页面上使用下拉控件,它从枚举中填充。我还想为下拉值添加自定义描述。我搜索了很多示例,但没有人发布如何在查看页面上填充描述。这是我的代码:View模型:publicenumSearchBy{[Description("SID/PID")]SID=1,[Description("Name")]Name,[Description("BirthDate")]DOB,[Description("Cause#")]Cause}索引.cshtml@Html.ValidationSummary(true,"",new{@class="text-d

c# - 如何获取枚举的基础值

我声明了以下枚举:publicenumTransactionTypeCode{Shipment='S',Receipt='R'}如何从TransactionTypeCode.Shipment获取值“S”或从TransactionTypeCode.Receipt获取值“R”?简单地执行TransactionTypeCode.ToString()会给出枚举名称“Shipment”或“Receipt”的字符串,因此它不会削减芥末。 最佳答案 您必须检查枚举的基础类型,然后转换为正确的类型:publicenumSuperTasks:int{

c# - 如何在跳过某些值的同时遍历枚举类型?

我的问题的关键部分是跳过。我计划使用具有大约20个元素的枚举类型。我想遍历这个集合,但每次都需要跳过一两个元素。跳过什么是事先知道的。一个类似的例子是枚举类型,它由所有字母组成,在迭代时,我想跳过所有元音。我应该如何以优雅/高效的方式编写迭代代码?我应该单独制作一组由元音组成的元素吗?我没有代码可以展示,因为我只是在思考这个问题。 最佳答案 varquery=Enum.GetValues(typeof(MyEnum)).Cast().Except(newMyEnum[]{MyEnum.A,MyEnum.E});foreach(MyE